<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<!-- Macro Processing -->

<HTML>

<HEAD>

<TITLE>Macro Processing</TITLE>

</HEAD>

<BODY BACKGROUND="spiral.gif" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#990099" ALINK="#FF0000">

<TABLE WIDTH="98%">
<TR><TD WIDTH=60 VALIGN=BOTTOM NOWRAP>
<IMG SRC="transp.gif" ALT="" WIDTH=60 HEIGHT=20>
</TD><TD>

<!-- Ab hier Seitentext: -->

<BIG>
<BR>

<P>
<STRONG><U>III.11 Macro Processing</U></STRONG>
</P>

<P>
Macros allow to combine basic assembler instructions to &quot;super commands&quot;.
For this, macros are defined as blocks of code, which can be used in a
program, wherever it is desired.<BR>
However, an advanced macro design with parameters, local symbols and macro
operators, combined with conditional assembly, goes far beyond this basic
functionality!<BR>
With only five keywords (MACRO, REPT, ENDM, EXITM, LOCAL) and some control
characters the <NOBR>ASEM-51</NOBR> macro processor provides a variety of powerful
tools. These five meta instructions are not part of the Intel <NOBR>MCS-51</NOBR>
assembly language, but overlay it, as already known from conditional assembly.<BR>
There are two sorts of macros: callable macros and repeat blocks.
</P>

<P>
<OL TYPE=1>
<LI><A HREF="simple.htm">Simple Callable Macros</A></LI>
<LI><A HREF="params.htm">Macro Parameters</A></LI>
<LI><A HREF="repeat.htm">Repeat Macros</A></LI>
<LI><A HREF="local.htm">Local Symbols</A></LI>
<LI><A HREF="operator.htm">Macro Operators</A></LI>
<LI><A HREF="exitm.htm">Premature End of a Macro Expansion</A></LI>
<LI><A HREF="nestcall.htm">Nested and Recursive Macro Calls</A></LI>
<LI><A HREF="nestdefs.htm">Nested Macro Definitions</A></LI>
<LI><A HREF="macrolst.htm">Representation in the List File</A></LI>
</OL>
</P>

</BIG>

<!-- Seitentext Ende -->

<P>
<BR>
<BR>
<CENTER>
<TABLE WIDTH="70%">
<TR><TH><A HREF="contents.htm"><IMG SRC="home.gif" ALT="[contents]" BORDER=0 WIDTH=32 HEIGHT=32></A></TH>
    <TH><A HREF="language.htm"><IMG SRC="up.gif" ALT="[up]" BORDER=0 WIDTH=32 HEIGHT=32></A></TH>
    <TH><A HREF="ifxxcon.htm"><IMG SRC="back.gif" ALT="[back]" BORDER=0 WIDTH=32 HEIGHT=32></A></TH>
    <TH><A HREF="simple.htm"><IMG SRC="next.gif" ALT="[next]" BORDER=0 WIDTH=32 HEIGHT=32></A></TH>
</TR>
</TABLE>
</CENTER>
</P>

</TD></TR>
</TABLE>

</BODY>

</HTML>
